//引入express模块
const express=require('express');
//创建路由对象
const r=express.Router();
//引入链接池对象
const pool=require('../pool');
//console.log(pool);
//添加用户注册路由
//1.用户注册接口（post  /reg）
//接口地址：http://127.0.0.1:8080/v1/user/reg
//请求方式：post
r.post('/reg',(req,res,next)=>{
  //1.1获取post传递的参数
  var obj=req.body;
  console.log(obj);
  //1.2验证各项是否为空
  if(!obj.uphone){
    res.send({code:401,msg:'手机号不能为空'});
	return;
  }
  if(!obj.upwd){
    res.send({code:402,msg:'密码不能为空'});
	return;
  }
  //1.3执行sql命令
  //检测手机号是否注册
  pool.query('select * from milk_login',(err,result)=>{
    if(err){
	  next(err);
	  return;
	}

	console.log(result); 
  if(result.length==0){
    res.send({code:401,msg:'无此客户'});
    pool.query('insert into milk_login set?',[obj],(e,s)=>{
      if(s.affectedRows===0){
		res.send({code:400,msg:'注册失败失败'});
	}else{
		res.send({code:200,msg:'注册成功',data:`您的id为:${s.insertId}`});
	}
    })
  }else{
    res.send({code:501,msg:'客户已存在'})
  }
	
  });
});

//添加用户登录路由
//2.用户登录接口（post  /login）
//接口地址：http://127.0.0.1:8080/v1/user/login
//请求方式：post
r.post('/login',(req,res,next)=>{
  //2.1获取post传递的参数
  var obj=req.body;
  console.log(obj);
  //2.2执行SQL命令
  pool.query('select * from milk_login where uphone=? and upwd=?',[obj.uphone,obj.upwd],(err,result)=>{
    if(err){
      next(err);
      return;
    }
    //result代表SQL命令执行成功
    console.log(result);
    //结果是数组，如果数组为空，说明登录失败，否则成功
    if(result.length===0){
      res.send({code:400,msg:'登录失败'});
    }else{
      res.send({code:200,msg:'登录成功',data:`欢迎编号${result[0].uid}的用户`});
    }
  });
});

//添加查看用户详情路由
//3.查看用户详情接口（get  /编号）
//接口地址：http://127.0.0.1:8080/v1/user/xid值
//请求方式：get
r.get('/:xid',(req,res,next)=>{
  //3.1获取路由传参的值
  let obj=req.params;
  console.log(obj);
  //3.2执行SQL命令
  pool.query('select *from milk_user where xid=?',[obj.xid],(err,result)=>{
   if(err){
     next(err);
     return;
   }
   //result代表SQL命令执行成功
   console.log(result);
   if(result.length===0){
     res.send({code:501,msg:'该用户不存在'});
   }else{
     res.send({code:200,msg:'成功',data:result});
   }
  });
});

//添加修改用户详情路由
//4.修改用户接口（put  /）
//接口地址：http://127.0.0.1:8080/v1/user/xg
//请求方式：put
r.put('/xg',(req,res,next)=>{
  //4.1获取路由传参的值
  let obj=req.body;
  console.log(obj);
  //4.2验证是否为空
  var i=400;
  for(var k in obj){
    i++;
    if(!obj[k]){
      res.send({code:i,msg:k+'不能为空'});
      return;
    }
  }
  //4.3执行SQL命令
  pool.query('update milk_user set? where xid=?',[obj,obj.xid],(err,result)=>{
    if(err){
      next(err);
      return;
    }
    console.log(result);
    //结果是对象，如果对象下的affectedRows值为0说明修改失败，否则修改成功
    if(result.affectedRows===0){
      res.send({code:501,msg:'修改失败'});
    }else{
      res.send({code:200,msg:'修改成功',data:obj});
    }
  });
});

//添加删除用户路由
//5.用户删除接口（delete /编号）
//接口地址：http://127.0.0.1:8080/v1/user/uid值
//请求方式：delete
r.delete('/:uid',(req,res,next)=>{
  //5.1获取路由传参的值
  let obj=req.params;
  console.log(obj);
  //5.2执行SQL命令
  pool.query('delete from milk_login where uid=?',[obj.uid],(err,result)=>{
    if(err){
      next(err);
      return;
    }
    console.log(result);
    //5.3验证删除是否成功结果是对象，如果对象下的affectedRows值为0说明删除失败，否则删除成功
    if(result.affectedRows===0){
      res.send({code:400,msg:'删除失败'});
    }else{
      res.send({code:200,msg:'删除成功'});
    }
  });
});

//添加查看用户路由
//6.查看用户接口（get  /编号）
//接口地址：http://127.0.0.1:8080/v1/user/
//请求方式：get
r.get('/',(req,res,next)=>{
	//6.1获取路由传参的值
	let obj=req.params;
	console.log(obj);
	//6.2执行SQL命令
	pool.query('select *from milk_login',(err,result)=>{
	 if(err){
	   next(err);
	   return;
	 }
	 //result代表SQL命令执行成功
	 console.log(result);
	 if(result.length===0){
	   res.send({code:400,msg:'查询失败'});
	 }else{
	   res.send({code:200,msg:'成功',data:result});
	 }
	});
  });
//添加修改用户路由
//7.修改用户接口（post  /手机号）
//接口地址：http://127.0.0.1:8080/v1/user/x
//请求方式：put
r.put('/x',(req,res)=>{
	console.log(req.body)
  //验证手机号是否注册进行判断
	pool.query('select * from milk_login',(err,result)=>{
    if(err){
      next(err);
      return;
    }
    console.log(result);
    if(result.length==0){
      res.send({code:400,msg:'手机号未注册，请先注册后登录'})
    }else{
      pool.query(`update milk_login set? where uphone=?`,[obj],(e,s)=>{
        //结果是对象，如果对象下的affectedRows值为0说明修改失败，否则修改成功
    if(s.affectedRows===0){
      res.send({code:501,msg:'修改失败'});
    }else{
      res.send({code:200,msg:'修改成功',data:s});
    }
      })
    }    
  });
});

	
//导出路由器
module.exports=r;
